﻿using System;
using System.Text;
using System.Collections.Generic;
using System.Linq;
using Cms.Domain;
using Microsoft.VisualStudio.TestTools.UnitTesting;

namespace Cms.Tests.Unit.Domain
{

    [TestClass]
    public class SystemContextKeyTests
    {

        #region Additional test attributes
        //
        // You can use the following additional attributes as you write your tests:
        //
        // Use ClassInitialize to run code before running the first test in the class
        // [ClassInitialize()]
        // public static void MyClassInitialize(TestContext testContext) { }
        //
        // Use ClassCleanup to run code after all tests in a class have run
        // [ClassCleanup()]
        // public static void MyClassCleanup() { }
        //
        // Use TestInitialize to run code before running each test 
        // [TestInitialize()]
        // public void MyTestInitialize() { }
        //
        // Use TestCleanup to run code after each test has run
        // [TestCleanup()]
        // public void MyTestCleanup() { }
        //
        #endregion

        [TestMethod]
        public void TestGetValue()
        {
            SystemContextKey key = new SystemContextKey();
            Assert.AreEqual("", key.GetValue("en-US")); // No values exist
            key.Values.Add("en-US", "New page");
            Assert.AreEqual("New page", key.GetValue("en-US")); // Get value that exists
            Assert.AreEqual("New page", key.GetValue("sv-SE")); // Get value that does not exist for this locale, default to en-US value
            key.Values.Add("sv-SE", "Ny sida");
            Assert.AreEqual("Ny sida", key.GetValue("sv-SE")); // Get value from another locale
        }

    }

}
